From: bors Date: Mon, 2 Oct 2017 10:40:21 +0000 (+0000) Subject: Auto merge of #4562 - SimonSapin:btree-manifest, r=matklad X-Git-Tag: archive/raspbian/0.35.0-2+rpi1~3^2^2^2^2^2^2^2~22^2~6^2~25 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success//%22http:/www.example.com/cgi/success/?a=commitdiff_plain;h=d7e3b7f24265016c9ce4455504b914dc92c92b07;p=cargo.git Auto merge of #4562 - SimonSapin:btree-manifest, r=matklad Make manifest serialization deterministic Fixes #4326 `cargo package` (and so `cargo publish`) parses a crate’s `Cargo.toml`, makes some modifications, and re-serializes it. Because the `TomlManifest` struct uses `HashMap` with its default `RandomState` hasher, the maps’ iteration order changed on every run. As a result, when using `cargo vendor`, updating a dependency would generate a diff larger than necessary, with non-significant order-changes obscuring significant changes. This replaces some uses of `HashMap` with `BTreeMap`, whose iteration order is deterministic (based on `Ord`). --- d7e3b7f24265016c9ce4455504b914dc92c92b07